package com.itxiao.util;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Random;


public  class Price {
    private static final Random RANDOM = new Random();
    public  static  Long YuanToCent(BigDecimal yuan) {
        if (yuan == null) {
            return 0L;
        }
        return yuan.multiply(BigDecimal.valueOf(100)).longValue();
    }

    /**
     * 金额转换：分 -> 元（存储为整数分）
     */
    public static  BigDecimal IntToDecimal(Long value) {
        if (value == null) {
            return BigDecimal.ZERO;
        }
        return BigDecimal.valueOf(value).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
    }
    public static String generateOrderNo() {
        // 获取当前日期，格式化为 yyyymmdd
        String datePart = LocalDate.now().format(DateTimeFormatter.BASIC_ISO_DATE);
        // 生成10位随机数
        String randomPart = generateRandomDigits(10);
        return datePart + randomPart;
    }
    /**
     * 生成指定位数的纯数字随机字符串
     * @param length 位数
     * @return 随机数字字符串
     */
    private static String generateRandomDigits(int length) {
        StringBuilder sb = new StringBuilder();
        // 第一位不能为0，保证是10位数（不是9位）
        sb.append(RANDOM.nextInt(9) + 1); // 1-9
        for (int i = 1; i < length; i++) {
            sb.append(RANDOM.nextInt(10)); // 0-9
        }
        return sb.toString();
    }
}
